home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 October / CMCD1004.ISO / Software / Freeware / Utilitare / DesktopSidebar / Plugins / NotesEditor.DSPACKAGE / Source Code / panel.cs < prev    next >
Encoding:
Text File  |  2004-07-08  |  23.6 KB  |  773 lines

  1. using System;
  2. using System.Windows.Forms;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Drawing;
  6. using System.Data;
  7. using System.Runtime.InteropServices;
  8. using DesktopSidebar;
  9.  
  10. namespace NotesEditor
  11. {
  12.     
  13.     public class Panel : 
  14.         System.Windows.Forms.UserControl,
  15.         IPanel, 
  16.         IPanelWindow, 
  17.         IPanelProperties,
  18.         IPanelContextMenu,
  19.         ICommandTarget,
  20.         DesktopSidebar.ITextOutputParent,
  21.         IListOutputParent,
  22.         IDetailsWndParent
  23.     {
  24.         private System.ComponentModel.Container components = null;
  25.         
  26.         ISkinManager sm;
  27.         bool m_bShowNotesCounter = true;
  28.         bool SDN = true;
  29.         bool TW = true;
  30.         string ICL;
  31.         string DICL;
  32.         ISidebar m_sidebar;
  33.         IPanelParent m_panelParent;
  34.         IPanelConfig m_panelConfig;
  35.         int m_panelCookie;
  36.  
  37.         ITextOutput m_notesCounter;
  38.         IListOutput m_notes;
  39.         
  40.         
  41.         public Panel()
  42.         {
  43.                  this.Resize += new System.EventHandler(this.Panel_Resize);
  44.         }
  45.     
  46.      
  47.         protected override void Dispose( bool disposing )
  48.         {
  49.             if( disposing )
  50.             {
  51.                 if(components != null)
  52.                 {
  53.                     components.Dispose();
  54.                 }
  55.             }
  56.             base.Dispose( disposing );
  57.         }
  58.  
  59.  
  60.    
  61.   
  62.     
  63.  
  64.         [DllImport("user32.dll", EntryPoint="SetParent")]
  65.         static extern int SetParent(
  66.             int hwndChild,
  67.             int hwndNewParent);
  68.         
  69.  
  70.        
  71.         public void Create(
  72.             int hwndParent, 
  73.             Sidebar sidebar, 
  74.             IPanelParent parent, 
  75.             IPanelConfig config, 
  76.             ICanvas canvas,
  77.             IXmlNode configRoot,
  78.             IXmlNode panelConfig,
  79.             IXmlNode settingsRoot,
  80.             IXmlNode panelSettings,
  81.             int cookie)
  82.         {
  83.             m_sidebar=sidebar;
  84.             m_panelParent=parent;
  85.             m_panelCookie=cookie;
  86.             m_panelConfig=config;
  87.             m_panelParent.SetCaption(m_panelCookie,"Notes Editor");
  88.  
  89.             SetParent((int)Handle,hwndParent);
  90.             sm=m_sidebar.GetSkinManager();
  91.             m_notesCounter=sidebar.GetControlFactory().CreateTextOutput();
  92.             m_notesCounter.Init(sidebar.GetGlobalSettings(),sidebar.GetSkinManager(),this,true);
  93.             m_notesCounter.Create((int)Handle,true);
  94.  
  95.             m_notes = sidebar.GetControlFactory().CreateListOutput();
  96.             m_notes.Init(sidebar.GetGlobalSettings(),sidebar.GetSkinManager(),this,true);
  97.             m_notes.Create((int)Handle,true);
  98.             m_notes.ShowRowSeparator(true);
  99.                         ICL =  m_sidebar.GetTranslator().TranslateCommand("White");
  100.              DICL =m_sidebar.GetTranslator().TranslateCommand("White");
  101.             InitializeNotes(panelSettings);
  102.            
  103.             sidebar.GetTranslator().TranslateDialog2(new DialogTranslator(this),"NotesEditor.Panel");
  104.         UpdateNoteCounter();
  105.         }
  106.  
  107.         private void AddaNote(string sNote)
  108.         { 
  109.             try
  110.             {
  111.             DesktopSidebar.IListRow newRow = m_notes.AddRow();
  112.             if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Black"))
  113.             {
  114.             newRow.SetTextSkin(sm.Name2Id("black"));
  115.             newRow.SetUserData(0,1);
  116.             }
  117.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Red"))
  118.             {
  119.             newRow.SetTextSkin(sm.Name2Id("red"));
  120.             newRow.SetUserData(0,2);
  121.             }
  122.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Green"))
  123.             {
  124.             newRow.SetTextSkin(sm.Name2Id("green"));
  125.             newRow.SetUserData(0,3);
  126.             }
  127.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Yellow"))
  128.             {
  129.             newRow.SetTextSkin(sm.Name2Id("yellow"));
  130.             newRow.SetUserData(0,4);
  131.             }
  132.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Blue"))
  133.             {
  134.             newRow.SetTextSkin(sm.Name2Id("blue"));
  135.             newRow.SetUserData(0,5);
  136.             }
  137.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Purple"))
  138.             {
  139.             newRow.SetTextSkin(sm.Name2Id("purple"));
  140.             newRow.SetUserData(0,6);
  141.             }
  142.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Orange"))
  143.             {
  144.             newRow.SetTextSkin(sm.Name2Id("orange"));
  145.             newRow.SetUserData(0,7);
  146.             }
  147.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("White"))
  148.             {
  149.             newRow.SetTextSkin(sm.Name2Id("white"));
  150.             newRow.SetUserData(0,8);
  151.             }
  152.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Turquoise"))
  153.             {
  154.             newRow.SetTextSkin(sm.Name2Id("turquoise"));
  155.             newRow.SetUserData(0,9);
  156.             }
  157.             newRow.SetText(sNote);
  158.             }
  159.             catch
  160.             {
  161.             }
  162.         }
  163.         
  164.         private void UpdateNoteCounter()
  165.         {
  166.             string cnt = String.Format("{0} "+ m_sidebar.GetTranslator().TranslateCommand("Notes"), m_notes.size()); 
  167.             if(m_notes.size()==0)
  168.             {
  169.                 cnt = m_sidebar.GetTranslator().TranslateCommand("No Notes");
  170.             }
  171.             if(m_notes.size()==1)
  172.             {
  173.                 cnt = String.Format("{0} "+ m_sidebar.GetTranslator().TranslateCommand("Note"), m_notes.size());
  174.             }
  175.             m_notesCounter.SetText(cnt);        
  176.         }
  177.         
  178.         private void InitializeNotes(IXmlNode root)
  179.         {
  180.             if (root != null)
  181.             {
  182.                 try
  183.                 {
  184.                IXmlNode noteRoot = root.GetNode("notes/");
  185.                 IXmlNode colorRoot = root.GetNode("colors/");
  186.             
  187.                 for(int i=0; i<noteRoot.GetChildCount(); i++)
  188.                 {
  189.                     IXmlNode  note = noteRoot.GetChild(i);
  190.                     IXmlNode  color = colorRoot.GetChild(i);
  191.                     if(color.GetAttribute("color") == "Black")
  192.             {
  193.             this.ICL =m_sidebar.GetTranslator().TranslateCommand("Black");
  194.             }
  195.             if(color.GetAttribute("color") == "Red")
  196.             {
  197.             this.ICL =m_sidebar.GetTranslator().TranslateCommand("Red");
  198.             }
  199.             if(color.GetAttribute("color") == "Green")
  200.             {
  201.             this.ICL =m_sidebar.GetTranslator().TranslateCommand("Green");
  202.             }
  203.             if(color.GetAttribute("color") ==  "Yellow")
  204.             {
  205.             this.ICL =m_sidebar.GetTranslator().TranslateCommand("Yellow");
  206.             }
  207.             if(color.GetAttribute("color") ==  "Blue")
  208.             {
  209.             this.ICL =m_sidebar.GetTranslator().TranslateCommand("Blue");
  210.             }
  211.             if(color.GetAttribute("color") =="Purple")
  212.             {
  213.             this.ICL =m_sidebar.GetTranslator().TranslateCommand("Purple");
  214.             }
  215.             if(color.GetAttribute("color") ==  "Orange")
  216.             {
  217.             this.ICL =m_sidebar.GetTranslator().TranslateCommand("Orange");
  218.             }
  219.             if(color.GetAttribute("color") ==  "White")
  220.             {
  221.             this.ICL =m_sidebar.GetTranslator().TranslateCommand("White");
  222.             }
  223.             if(color.GetAttribute("color") ==  "Turquoise")
  224.             {
  225.             this.ICL =m_sidebar.GetTranslator().TranslateCommand("Turquoise");
  226.             }
  227.                     AddaNote(note.GetAttribute("text"));
  228.                 }
  229.                 }
  230.                 catch
  231.                 {
  232.         string caption = m_sidebar.GetTranslator().Msg("enc");
  233.            string question = m_sidebar.GetTranslator().Msg("ne");
  234.         if(MessageBox.Show(question, caption, MessageBoxButtons.OKCancel ,MessageBoxIcon.Error) == DialogResult.OK)
  235.         {
  236.          System.Diagnostics.Process.Start("http://www.desktopsidebar.com/forums/index.php?showtopic=1925&st=0&#entry11261");    
  237.         }
  238.                 }
  239.                
  240.                 IXmlNode node1 = root.GetNode("GeneralSettings/");               
  241.                 
  242.                 m_bShowNotesCounter = (node1.GetAttribute("value") == "yes");
  243.                     this.SDN = System.Convert.ToBoolean( node1.GetAttribute("sSDN"));
  244.                 this.DICL = node1.GetAttribute("sDICL");
  245.                 this.TW = System.Convert.ToBoolean( node1.GetAttribute("sTW"));
  246.                 if(TW==true)
  247.                 {
  248.                                 m_notes.WrapText(true);
  249.                 }
  250.                 else
  251.                 {
  252.                                 m_notes.WrapText(false);
  253.                 }
  254.  
  255.             }
  256.         }
  257.         
  258.         public int GetFitHeight(int width)
  259.         {
  260.             return m_notes.GetFitHeight(width);
  261.         }
  262.  
  263.         public void Close()
  264.         {
  265.             m_notesCounter.Close();
  266.             m_notes.Close();
  267.             m_notesCounter=null;
  268.             m_notes = null;
  269.         }
  270.  
  271.  
  272.         public bool Tick(bool minute)
  273.         {
  274.             return false;
  275.         }
  276.  
  277.         public void Save(IXmlBuilder panelSettings, IXmlBuilder settingsRoot)
  278.         {
  279.             IXmlBuilder noteRoot = panelSettings.AddChild("notes");
  280.             IXmlBuilder colorRoot = panelSettings.AddChild("colors");
  281.             for(int i=0; i<m_notes.size(); i++)
  282.             {
  283.                 IXmlBuilder note = noteRoot.AddChild("note");
  284.                 if(m_notes.GetRow(i).GetText()!="")
  285.                 {
  286.                 note.AddAttribute("text", m_notes.GetRow(i).GetText());   
  287.                 int rownum = m_notes.GetRow(i).GetUserData(0);
  288.                 IXmlBuilder color = colorRoot.AddChild("color");
  289.                 if(rownum==1)
  290.                 {
  291.                 color.AddAttribute("color", "Black");   
  292.                 }
  293.                 if(rownum==2)
  294.                 {
  295.                 color.AddAttribute("color", "Red");   
  296.                 }
  297.                 if(rownum==3)
  298.                 {
  299.                 color.AddAttribute("color", "Green");   
  300.                 }
  301.                 if(rownum==4)
  302.                 {
  303.                 color.AddAttribute("color", "Yellow");   
  304.                 }
  305.                 if(rownum==5)
  306.                 {
  307.                 color.AddAttribute("color", "Blue");   
  308.                 }
  309.                 if(rownum==6)
  310.                 {
  311.                 color.AddAttribute("color", "Purple");   
  312.                 }
  313.                 if(rownum==7)
  314.                 {
  315.                 color.AddAttribute("color", "Orange");   
  316.                 }
  317.                 if(rownum==8)
  318.                 {
  319.                 color.AddAttribute("color", "White");   
  320.                 }
  321.                 if(rownum==9)
  322.                 {
  323.                 color.AddAttribute("color", "Turquoise");   
  324.                 }
  325.                 }
  326.             }
  327.  
  328.             IXmlBuilder builder1 = panelSettings.AddChild("GeneralSettings");
  329.             builder1.AddAttribute("value", m_bShowNotesCounter ? "yes" : "no");
  330.             builder1.AddAttribute("sSDN", System.Convert.ToString(SDN));
  331.             builder1.AddAttribute("sDICL", DICL);
  332.             builder1.AddAttribute("sTW", System.Convert.ToString(TW));
  333.         }
  334.  
  335.         public System.IntPtr GetHwnd()
  336.         {
  337.             return Handle;
  338.         }
  339.         
  340.       
  341.         public void OnClick(ITextOutput textOutput, bool dblclk)
  342.         {
  343.             try
  344.             {
  345.               m_sidebar.GetControlFactory().HideAllDetails();
  346.             AddNote dlgNote = new AddNote(m_sidebar);
  347.             dlgNote.setdicl(DICL);
  348.             if (dlgNote.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
  349.             {
  350.                 ICL=dlgNote.icl;
  351.                 if(dlgNote.GetNote()=="")
  352.                 {
  353.                 AddaNote(" ");    
  354.                 }
  355.                 else
  356.                 {
  357.                 AddaNote(dlgNote.GetNote());
  358.                 }
  359.                 m_notes.Invalidate();
  360.                 m_panelParent.ArrangePanels();
  361.                 UpdateNoteCounter();
  362.             }
  363.             }
  364.             catch
  365.             {
  366.             }
  367.         }
  368.  
  369.         public void OnDrawBackground(ITextOutput textOutput, IGraphics graphics)
  370.         {
  371.             m_panelParent.DrawControlBackground(graphics,m_panelCookie,textOutput.GetHwnd());
  372.         }
  373.  
  374.         public void OnMouseLeave(ITextOutput textOutput)
  375.         {
  376.         }
  377.  
  378.         public void OnShowDetails(ITextOutput textOutput)
  379.         {
  380.         }
  381.  
  382.         public void OnMouseHover(ITextOutput textOutput)
  383.         {
  384.         }
  385.  
  386.  
  387.         private void ArrangeChildren()
  388.         {
  389.             int counterHeight=0;
  390.  
  391.             SuspendLayout();
  392.  
  393.             if (m_bShowNotesCounter)
  394.             {
  395.                 counterHeight=m_notesCounter.GetFitHeight();            
  396.             }
  397.             
  398.             m_notesCounter.MoveWindow(0,0,this.Size.Width,counterHeight);
  399.             m_notes.MoveWindow(0,counterHeight,this.Size.Width,this.Height);
  400.             ResumeLayout(false);
  401.         }
  402.         private void Panel_Resize(object sender, System.EventArgs e)
  403.         {
  404.             ArrangeChildren();
  405.         }
  406.  
  407.         private void Panel_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
  408.         {
  409.             IntPtr hdc=e.Graphics.GetHdc();
  410.             IGraphics graphics=m_sidebar.CreateGraphics((int)hdc);
  411.             m_panelParent.DrawPanelBackground(graphics,m_panelCookie);
  412.             e.Graphics.ReleaseHdc(hdc);
  413.         }
  414.  
  415.        #region IPanelProperties Members
  416.  
  417.         public void ShowProperties(int hwnd)
  418.         {
  419.            
  420.             CPropertiesDlg propDlg = new CPropertiesDlg(m_sidebar);
  421.             propDlg.SetShowNotesCounter(m_bShowNotesCounter);
  422.             propDlg.setdn(SDN);
  423.             propDlg.setdicl(DICL);
  424.             propDlg.settw(TW);
  425.             if (propDlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
  426.             {
  427.                 m_bShowNotesCounter = propDlg.GetShowNotesCounter();
  428.                 SDN = propDlg.dn();
  429.                 DICL = propDlg.dicl;
  430.                 this.TW=propDlg.twt();
  431.                 if(TW==true)
  432.                 {
  433.                     m_notes.WrapText(true);
  434.                 }
  435.                 else
  436.                 {
  437.                     m_notes.WrapText(false);
  438.                 }
  439.                 ArrangeChildren();
  440.                  UpdateNoteCounter();
  441.             }
  442.  
  443.  
  444.         }
  445.  
  446.         #endregion
  447.  
  448.  #region IPanelContextMenu Members
  449.  
  450.          System.IntPtr DesktopSidebar.IPanelContextMenu.GetContextMenu(tagPOINT pt)
  451.         {
  452.             IControlFactory cf=m_sidebar.GetControlFactory();
  453.             System.IntPtr menu=cf.CreatePopupMenu();
  454.             string aan= m_sidebar.GetTranslator().TranslateCommand("Add a note");
  455.             string en= m_sidebar.GetTranslator().TranslateCommand("Empty");
  456.             cf.InsertMenuItem((int)menu,0,aan,101);
  457.                cf.InsertMenuItem((int)menu,0,en,102);
  458.               cf.InsertMenuSeparator((int)menu,2);
  459.             return menu;
  460.         }
  461.  
  462.         #endregion    
  463.         
  464.     
  465.           #region ICommandTarget Members
  466.  
  467.         public void OnUpdatePrivateCommand(int id, IUpdateUI pAction)
  468.         {
  469.         }
  470.  
  471.           public void OnPrivateCommand(int id)
  472.         {
  473.              
  474.              if(id==102)
  475.              {
  476.                  string caption = m_sidebar.GetTranslator().Msg("enc");
  477.                string question = m_sidebar.GetTranslator().Msg("e");
  478.             if (MessageBox.Show(question, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  479.             {
  480.                 m_notes.Clear();
  481.                 UpdateNoteCounter();
  482.              }
  483.              }
  484.             
  485.           if (id==101)
  486.           {
  487.                  try
  488.                  {
  489.               m_sidebar.GetControlFactory().HideAllDetails();
  490.             AddNote dlgNote = new AddNote(m_sidebar);
  491.             dlgNote.setdicl(DICL);
  492.             if (dlgNote.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
  493.             {
  494.                 ICL=dlgNote.icl;
  495.                 if(dlgNote.GetNote()=="")
  496.                 {
  497.                 AddaNote(" ");    
  498.                 }
  499.                 else
  500.                 {
  501.                 AddaNote(dlgNote.GetNote());
  502.                 }
  503.                 m_notes.Invalidate();
  504.                 m_panelParent.ArrangePanels();
  505.                 UpdateNoteCounter();
  506.             }
  507.                  }
  508.                  catch
  509.                  {
  510.                  }
  511.           }
  512.         }  
  513.         
  514.         public void OnCommand(string cmdName)
  515.         {
  516.  
  517.         }
  518.  
  519.         public void OnUpdateCommand(string cmdName, IUpdateUI pAction)
  520.         {
  521.            
  522.         }
  523.         
  524.         public int GetPrivateCommandImage(int id)
  525.         {
  526.             if(id==102)
  527.             {
  528.                     return 29;
  529.                 
  530.             }
  531.             if(id==101)
  532.             {
  533.                 return 16;           
  534.             }
  535.                 return -1;
  536.         }
  537.  
  538.         #endregion
  539.  
  540.  
  541.  
  542.         #region IListOutputParent Members
  543.  
  544.         void DesktopSidebar.IListOutputParent.OnClick(IListOutput list,IListRow row , bool dbclk)
  545.             {        
  546.        m_sidebar.GetControlFactory().HideAllDetails();
  547.  
  548.             EditNote dlgNote2 = new EditNote(m_sidebar);
  549.             dlgNote2.SetNote(row.GetText());
  550.             dlgNote2.setsdn(SDN);
  551.             int rownum = row.GetUserData(0);
  552.                 if(rownum==1)
  553.                 {
  554.                 dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Black"));
  555.                 }
  556.                 if(rownum==2)
  557.                 {
  558.                  dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Red"));
  559.                 }
  560.                 if(rownum==3)
  561.                 {
  562.                  dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Green"));
  563.                 }
  564.                 if(rownum==4)
  565.                 {
  566.                  dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Yellow"));
  567.                 }
  568.                 if(rownum==5)
  569.                 {
  570.                  dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Blue"));
  571.                 }
  572.                 if(rownum==6)
  573.                 {
  574.                  dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Purple"));
  575.                 }
  576.                 if(rownum==7)
  577.                 {
  578.                  dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Orange"));
  579.                 }
  580.                 if(rownum==8)
  581.                 {
  582.                  dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("White"));
  583.                 }
  584.                 if(rownum==9)
  585.                 {
  586.                  dlgNote2.setcolor( m_sidebar.GetTranslator().TranslateCommand("Turquoise"));
  587.                 }
  588.             dlgNote2.ShowDialog(this);
  589.             if (dlgNote2.DialogResult == System.Windows.Forms.DialogResult.OK)
  590.             {
  591.                 if(dlgNote2.GetNote()=="")
  592.                 {
  593.                     ICL=dlgNote2.icl;
  594.                     if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Black"))
  595.             {
  596.             row.SetTextSkin(sm.Name2Id("black"));
  597.             row.SetUserData(0,1);
  598.             }
  599.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Red"))
  600.             {
  601.             row.SetTextSkin(sm.Name2Id("red"));
  602.             row.SetUserData(0,2);
  603.             }
  604.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Green"))
  605.             {
  606.             row.SetTextSkin(sm.Name2Id("green"));
  607.             row.SetUserData(0,3);
  608.             }
  609.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Yellow"))
  610.             {
  611.             row.SetTextSkin(sm.Name2Id("yellow"));
  612.             row.SetUserData(0,4);
  613.             }
  614.             if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Blue"))
  615.             {
  616.             row.SetTextSkin(sm.Name2Id("blue"));
  617.             row.SetUserData(0,5);
  618.             }
  619.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Purple"))
  620.             {
  621.             row.SetTextSkin(sm.Name2Id("purple"));
  622.             row.SetUserData(0,6);
  623.             }
  624.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Orange"))
  625.             {
  626.             row.SetTextSkin(sm.Name2Id("orange"));
  627.             row.SetUserData(0,7);
  628.             }
  629.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("White"))
  630.             {
  631.             row.SetTextSkin(sm.Name2Id("white"));
  632.             row.SetUserData(0,8);
  633.             }
  634.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Turquoise"))
  635.             {
  636.             row.SetTextSkin(sm.Name2Id("turquoise"));
  637.             row.SetUserData(0,9);
  638.             }
  639.                     row.SetText(" ");
  640.                     
  641.                 }
  642.                 else
  643.                 {
  644.                         ICL=dlgNote2.icl;
  645.                     if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Black"))
  646.             {
  647.             row.SetTextSkin(sm.Name2Id("black"));
  648.             row.SetUserData(0,1);
  649.             }
  650.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Red"))
  651.             {
  652.             row.SetTextSkin(sm.Name2Id("red"));
  653.             row.SetUserData(0,2);
  654.             }
  655.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Green"))
  656.             {
  657.             row.SetTextSkin(sm.Name2Id("green"));
  658.             row.SetUserData(0,3);
  659.             }
  660.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Yellow"))
  661.             {
  662.             row.SetTextSkin(sm.Name2Id("yellow"));
  663.             row.SetUserData(0,4);
  664.             }
  665.             if(this.ICL == m_sidebar.GetTranslator().TranslateCommand("Blue"))
  666.             {
  667.             row.SetTextSkin(sm.Name2Id("blue"));
  668.             row.SetUserData(0,5);
  669.             }
  670.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Purple"))
  671.             {
  672.             row.SetTextSkin(sm.Name2Id("purple"));
  673.             row.SetUserData(0,6);
  674.             }
  675.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Orange"))
  676.             {
  677.             row.SetTextSkin(sm.Name2Id("orange"));
  678.             row.SetUserData(0,7);
  679.             }
  680.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("White"))
  681.             {
  682.             row.SetTextSkin(sm.Name2Id("white"));
  683.             row.SetUserData(0,8);
  684.             }
  685.             if(this.ICL ==  m_sidebar.GetTranslator().TranslateCommand("Turquoise"))
  686.             {
  687.             row.SetTextSkin(sm.Name2Id("turquoise"));
  688.             row.SetUserData(0,9);
  689.             }
  690.                 row.SetText(dlgNote2.GetNote());
  691.                 }
  692.                 }
  693.                  if (dlgNote2.DialogResult == System.Windows.Forms.DialogResult.Abort)
  694.             {                
  695.                          m_notes.Delete(row);
  696.                }
  697.                
  698.                 m_notes.Invalidate();
  699.                 m_panelParent.ArrangePanels();
  700.                 UpdateNoteCounter();
  701.  
  702.     }
  703.             
  704.             
  705.         
  706.         
  707.         
  708.     public void OnShowDetails(IListOutput list, IListRow row)
  709.         {
  710.         }
  711.  
  712.  
  713.         public void OnLeave(IListOutput list, IListRow row)
  714.         {
  715.         }
  716.  
  717.         public void OnScrolled(IListOutput list)
  718.         {
  719.           
  720.         }
  721.  
  722.         public void OnHover(IListOutput list, IListRow row)
  723.         {
  724.           
  725.         }
  726.  
  727.       
  728.         void DesktopSidebar.IListOutputParent.OnDrawBackground(IListOutput list , IGraphics graphics)
  729.         {
  730.             m_panelParent.DrawControlBackground(graphics,m_panelCookie,list.GetHwnd());        
  731.         }
  732.  
  733.         #endregion
  734.     
  735.      
  736.     
  737.         #region IDetailsWndParent Members
  738.  
  739.  void DesktopSidebar.IListOutputParent.OnShowDetails(IListOutput list, IListRow row)
  740.         {
  741.             ITextDetailsWnd details = m_sidebar.GetControlFactory().CreateTextDetailsWnd();
  742.             ((IDetailsWnd)details).Init(m_sidebar.GetGlobalSettings(),m_sidebar.GetSkinManager(),m_panelConfig, this,m_sidebar.GetTranslator().TranslateCommand("Notec"));
  743.             
  744.             tagPOINT origin;
  745.             origin.x = 0;
  746.             origin.y = 0;
  747.  
  748.             tagSIZE size;
  749.             size.cx = 0;
  750.             size.cy = 0;
  751.             
  752.             ((IDetailsWnd)details).Create((int)Handle, (int)EDetailFlags.DC_IGNOREORIGIN | (int)EDetailFlags.DC_IGNORESIZE, ref origin, ref size);
  753.  
  754.             details.Set(row.GetText());
  755.  
  756.             list.TakeoverDetails(details, row);
  757.  
  758.         }
  759.  
  760.         public void OnCreateDetailsWnd(object details)
  761.         {
  762.           
  763.         }
  764.  
  765.         public void OnCloseDetailsWnd(object details)
  766.         {
  767.           
  768.         }
  769.  
  770.         #endregion
  771.     }
  772. }
  773.